<?php
/**
 * 功能： 异常指示指定的文件中没有定义需要的类
 * 说明：
 * 创建日期：2012-04-10
 * 更新日期：
 * 作者：Mirze
 * 补充说明： 
 * 
 */
class M_ClassException extends MException
{
    public $class_name;
    public $filename;

    function __construct($class_name, $filename, $flag = 0)
    {
        $this->class_name = $class_name;
        $this->filename = $filename;

		switch($flag) {
			case '0':
				self::notDefined($class_name, $filename);
			    break;
			case '1':
				self::fileExists($class_name, $filename);
			    break;
			case '2':
				self::illegalClassName($class_name, $filename);
			    break;	
		}
		
    }

	/**
	 * (功能描述) 类不存在
	 *
	 * @param 
	 * @return
	 */
	function notDefined($class_name, $filename)
	{
		parent::__construct(__('Class "%s" not defined in file "%s".', $class_name, $filename));
	}

	/**
	 * (功能描述) 类没有声明
	 *
	 * @param 
	 * @return
	 */
	function fileExists($class_name, $filename)
	{
		parent::__construct(__('Class "%s" declare file "%s" exists.', $class_name, $filename));
	}

	/**
	 * (功能描述) 异常指示无效的类名
	 *
	 * @param 
	 * @return
	 */
	function illegalClassName($class_name, $filename)
	{
		parent::__construct(__('Security check: Illegal character in class name "%s".', $class_name));
	}
}

